One-time programmable (OTP) elements such as fuses and antifuses have been used in a variety of semiconductor applications. For example, arrays of OTP elements have been used in read only memories (ROMs) for circuit trimming and other uses. When fuse elements are utilized, the device is programmed by blowing fusible links at selected nodes to create open circuits. When antifuse elements are utilized, the device is programmed by creating a short circuit or a low resistance path in a previously open circuit.
A typical antifuse element includes an insulating dielectric layer, such as a gate oxide, between two conducting layers. The un-programmed state of an antifuse element is an open circuit with intact dielectric. Programming an antifuse creates a shorting path at a damaged point, known as the rupture point, in the dielectric formed by applying a voltage and/or current higher than the dielectric rupture voltage and/or current.
In a typical application each antifuse is arranged in an antifuse bitcell, with each antifuse bitcell being accessible with row and column drivers. When so implemented, a large array of antifuses can be used to provide ROM and other similar devices.
One issue with such antifuse arrays is the application of voltage needed to program each antifuse. Specifically, as noted above a typical antifuse can require the application of a significant programming voltage to program each antifuse. When arranged in an array of rows and columns, the application of a voltage to program one antifuse can apply a corresponding negative voltage to other antifuses that are not intended to be programmed. In such cases, the antifuse bitcells in the array need to reliably tolerate the negative voltage without damage or impairment of reliability.
There thus remains a continuing need to improve the reliability of antifuses and in particular the reliability of antifuse bitcells to tolerate the application of negative voltages without damage to the antifuse or impairment of the reliability of the antifuse.